package org.yohann.ai.provider;

import java.util.Arrays;
import java.util.List;
import java.util.Map;

public class ReplyEmailProvider {

    private static final Map<String, String> emailTemplate = Map.of(
            "账单查询", """
                      <h3 style="color: #2c3e50;">{{month}}账单汇总</h3>
                      <table style="width: 100%; border-collapse: collapse; margin-bottom: 20px;">
                        <tr style="background-color: #f8f9fa;">
                          <th style="padding: 12px; text-align: left; border-bottom: 2px solid #dee2e6;">项目</th>
                          <th style="padding: 12px; text-align: right; border-bottom: 2px solid #dee2e6;">金额</th>
                        </tr>
                        <tr>
                          <td style="padding: 10px; border-bottom: 1px solid #dee2e6;">月度总费用</td>
                          <td style="padding: 10px; text-align: right; border-bottom: 1px solid #dee2e6;">{{amount}}元</td>
                        </tr>
                      </table>
                                        
                      <h4 style="color: #3498db; margin-top: 25px;">服务明细</h4>
                      <table style="width: 100%; border-collapse: collapse; box-shadow: 0 1px 3px rgba(0,0,0,0.1);">
                        <thead style="background-color: #3498db; color: white;">
                          <tr>
                            <th style="padding: 12px; text-align: left;">服务类型</th>
                            <th style="padding: 12px;">套餐方案</th>
                            <th style="padding: 12px; text-align: right;">费用</th>
                          </tr>
                        </thead>
                        <tbody>
                          {{#serviceInfoList}}
                          <tr style="border-bottom: 1px solid #e0e0e0;">
                            <td style="padding: 10px;">{{serviceType}}</td>
                            <td style="padding: 10px; text-align: center;">{{planType}}</td>
                            <td style="padding: 10px; text-align: right;">{{amount}}元</td>
                          </tr>
                          {{/serviceInfoList}}
                        </tbody>
                        <tfoot style="background-color: #f1f1f1;">
                          <tr>
                            <td colspan="2" style="padding: 10px; text-align: right; font-weight: bold;">小计：</td>
                            <td style="padding: 10px; text-align: right; font-weight: bold;">{{amount}}元</td>
                          </tr>
                        </tfoot>
                      </table>
                    """,
            "服务推荐", """
                      根据您的使用习惯，我们为您精选以下服务方案：
                      <!-- 核心推荐表格 -->
                      <table style="width: 100%; border-collapse: collapse; margin: 20px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.05);">
                        <thead style="background-color: #4299e1; color: white;">
                          <tr>
                            <th style="padding: 12px; text-align: left; width: 25%;">服务类型</th>
                            <th style="padding: 12px; text-align: left; width: 35%;">方案亮点</th>
                            <th style="padding: 12px; text-align: center; width: 20%;">原价</th>
                            <th style="padding: 12px; text-align: center; width: 20%;">特惠价</th>
                          </tr>
                        </thead>
                        <tbody>
                          {{#recommendations}}
                          <tr style="border-bottom: 1px solid #edf2f7;">
                            <td style="padding: 12px; vertical-align: top;">
                              <strong>{{serviceType}}</strong><br>
                              <small style="color: #718096;">{{category}}</small>
                            </td>
                            <td style="padding: 12px; vertical-align: top;">
                              <ul style="margin: 0; padding-left: 16px;">
                                {{#features}}
                                <li style="margin-bottom: 4px;">{{.}}</li>
                                {{/features}}
                              </ul>
                            </td>
                            <td style="padding: 12px; text-align: center; color: #a0aec0; text-decoration: line-through;">{{originalPrice}}元</td>
                            <td style="padding: 12px; text-align: center; color: #38a169; font-weight: bold;">{{discountedPrice}}元</td>
                          </tr>
                          {{/recommendations}}
                        </tbody>
                      </table>
                                        
                      <!-- 对比推荐表格 -->
                      <div style="background-color: #f7fafc; padding: 15px; border-radius: 6px; margin: 25px 0;">
                        <h4 style="color: #4a5568; margin-top: 0;">方案对比</h4>
                        <table style="width: 100%; border-collapse: collapse;">
                          <tr>
                            <td style="padding: 8px 12px; width: 30%; font-weight: 500;">最适合您的方案</td>
                            <td style="padding: 8px 12px; width: 40%;">
                              <span style="background-color: #ebf8ff; padding: 4px 8px; border-radius: 4px;">{{bestMatch}}</span>
                            </td>
                            <td style="padding: 8px 12px; text-align: right;">
                              <a href="{{signupLink}}" style="background-color: #3182ce; color: white; padding: 6px 12px; border-radius: 4px; text-decoration: none;">立即升级</a>
                            </td>
                          </tr>
                        </table>
                      </div>
                    """,
            "客户投诉", """
                    非常抱歉给您带来不便！
                                        
                    我们已收到您关于{{issue}}的投诉
                                        
                    我们的客服主管将在24小时内亲自跟进。
                    """,
            "非客户投诉", """
                    非常抱歉给您带来不便！
                                        
                    我们已收到您关于{{issue}}的投诉
                                        
                    请提供更多您的个人信息以定位我司为您提供的服务
                                        
                    我们的客服主管将在24小时内亲自跟进。
                    """,
            "无法处理", """
                    我们已收到您关于{{request}}的请求，但因{{reason}}：
                    1. 当前状态：已转交人工处理
                    2. 预计回复时间：两个小时以内
                                        
                    人工客服将主动联系您，联系电话：88888888
                    """
    );

    public static List<String> getAllEmailType() {
        return Arrays.asList("账单查询", "服务推荐", "客户投诉", "非客户投诉", "无法处理");
    }

    public static String getEmailTemplate(String emailType) {
        return emailTemplate.getOrDefault(emailType, "无可用模板");
    }
}
